package com.demo.java.OD201_250.OD214;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【统计差异值大于相似值二元组个数】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145910604
 */
public class OdMain {
    public static void main(String[] args) {
        try (Scanner s = new Scanner(System.in)) {
            // 读取数组的大小n
            int n = s.nextInt();
            // 构建数组nums
            int[] nums = new int[n];
            for (int i = 0; i < n; i++) nums[i] = s.nextInt();
            // 输出满足条件的数对个数
            System.out.println(solveMethod(n, nums));
        }
    }

    private static int solveMethod(int n, int[] nums) {
        int count = 0; // 用于记录满足条件的数对个数
        // 遍历所有的数对(i, j)，满足i < j
        for (int i = 0; i < n - 1; i++) {
            for (int j = i + 1; j < n; j++) {
                // 判断是否满足条件A[i] ^ A[j] > A[i] & A[j]
                if ((nums[i] ^ nums[j]) > (nums[i] & nums[j])) {
                    count++; // 满足条件的数对个数加1
                }
            }
        }
        return count; // 返回最终统计结果
    }
}